Link direction enforcement - possible?

Hi everyone it's me again.

This time I'd like to know if it's possible to control link directions between modules with a link module.

For example can you create a link module to only allow lower level modules to 'satisfy' higher level modules? The arrows would only go in one direction to prevent human error.

Also, would it be sensible to add a traceability column in one of the views of my module template after making a link module?

Thanks!

TooD
TooDifficult - Wed Jan 12 17:46:31 EST 2011

Re: Link direction enforcement - possible?
PDU - Thu Jan 13 01:55:06 EST 2011

Hi,

a link module is a semantic box. If you create a link module "Satisfy" (for example) you say "i need links between objects of two modules of "satisfy" type.
When you create the link module, you define its name (id. its type, "Satisfy" for example), and mapping. Links can be one->one, one->many, many->one, many->many (default value)

But in a link module, you do not have links immediatly.
In a link module you have linksets.

A linkset is an unidirectional pipe between two modules, from module "source" to module "target".
In this linkset, you have the links between objects of modules "source" and objects of module "target". So you can say : the Object 215 of the module "source" satisfy the Object 456 of the module "target".

Information about links between two object are recorded inside the link module and inside the "source" module, not inside the "target" module. So when you create links, you can have module "target" read only.

A method to create a linkset between module "source" and module "target" :
Open module "source" (exclusive Edit).
File -> Module properties...
Linkset
Add
Select Target Module and Link module.

When you create the first link between Object(s) of module "Source" and Object(s) of module "Target", you have message : A linkset does not exist for this operation. Do you want to create one ?
Answer Yes.

For more informations, read DOORS documentation, and DOORS Help ( Using links )
Pierre

Re: Link direction enforcement - possible?
llandale - Thu Jan 13 09:58:03 EST 2011

In the module properties there is a tab incorrectly labeled "Link Sets" which should say "Link Set Pairings". On this tab you can restrict which other modules may be the target of links from this module, and into which link module they must reside. Its clumsy and hard to manage a project this way, but you can use this feature to prevent links from getting generated in the "wrong" direction or in the "wrong" link module.

  • Louie

Re: Link direction enforcement - possible?
PDU - Thu Jan 13 10:39:30 EST 2011

llandale - Thu Jan 13 09:58:03 EST 2011
In the module properties there is a tab incorrectly labeled "Link Sets" which should say "Link Set Pairings". On this tab you can restrict which other modules may be the target of links from this module, and into which link module they must reside. Its clumsy and hard to manage a project this way, but you can use this feature to prevent links from getting generated in the "wrong" direction or in the "wrong" link module.

  • Louie

Hi Louie,

why clumsy ?

Pierre

Re: Link direction enforcement - possible?
llandale - Thu Jan 13 14:00:53 EST 2011

PDU - Thu Jan 13 10:39:30 EST 2011
Hi Louie,

why clumsy ?

Pierre

Have to do it manually. Its based on module name whereas most everywhere else in DOORS they reference modules by ID. If you rename or move a module you are hosed. Its not that easy to get the settings right. You can define only a SINGLE link module between two formal modules, cannot then say "A Satisfies B" and also "A References B".

Re: Link direction enforcement - possible?
SystemAdmin - Thu Jan 13 17:26:05 EST 2011

llandale - Thu Jan 13 14:00:53 EST 2011
Have to do it manually. Its based on module name whereas most everywhere else in DOORS they reference modules by ID. If you rename or move a module you are hosed. Its not that easy to get the settings right. You can define only a SINGLE link module between two formal modules, cannot then say "A Satisfies B" and also "A References B".

Its based on module name whereas most everywhere else in DOORS they reference modules by ID. If you rename or move a module you are hosed.

When the linkset pairings feature was first introduced, this was indeed a problem, but it was eventually fixed. From what I can see, if you rename or move a formal or link module, the defined target and link module path and name in a linkset pair stays in synch.
You can define only a SINGLE link module between two formal modules

Yep - I wish they could fix this ancient limitation of the tool.


Paul Miller
Melbourne, Australia

Re: Link direction enforcement - possible?
TooDifficult - Thu Jan 13 17:29:58 EST 2011

llandale - Thu Jan 13 14:00:53 EST 2011
Have to do it manually. Its based on module name whereas most everywhere else in DOORS they reference modules by ID. If you rename or move a module you are hosed. Its not that easy to get the settings right. You can define only a SINGLE link module between two formal modules, cannot then say "A Satisfies B" and also "A References B".

Hi Pierre, Louie, thanks for the replies.

I'll have a deeper read into linksets then, had a cursory read but didn't really sink in.

Also Louie, if you had a project wizard that choked up modules inside a project with the same name everytime, that is, you might have projects with different names because you can change that manually. But you also will have modules of the exact same name across every differently named project; I think most people will not rename the modules 'MRD' in every differently named project because they are already grouped in their respective projects.

With this in mind, we could safely say that these modules will retain their original names (which are identical since the same project wizard made them).

Since the method you suggested depends on the name of the module and not the ID, does DOORS get confused? It is unlikely you will move that module out of its location, whether out of the project or out of the project's subfolder.

If it doesn't get confused then it would be reasonable to write a linkset code for it, wouldn't it? Since most projects have the same procedure, for e.g.,

MRD, CRD, etc. break down into Validation and Verification modules,

then it would be ideal to create a generic linkset direction for these so that everytime a project is made, the flow of links is restricted.

What do you guys think?

TooDiff

Re: Link direction enforcement - possible?
PDU - Fri Jan 14 01:25:39 EST 2011

SystemAdmin - Thu Jan 13 17:26:05 EST 2011
Its based on module name whereas most everywhere else in DOORS they reference modules by ID. If you rename or move a module you are hosed.

When the linkset pairings feature was first introduced, this was indeed a problem, but it was eventually fixed. From what I can see, if you rename or move a formal or link module, the defined target and link module path and name in a linkset pair stays in synch.
You can define only a SINGLE link module between two formal modules

Yep - I wish they could fix this ancient limitation of the tool.


Paul Miller
Melbourne, Australia

I agree with you Paul,

For the first point.
i check with a module source a module target and a link module.
I modify name of each, and all links are kept.
I try also Archive and restore on another database, all is OK.
Pierre